#!/usr/bin/env python
# -*- coding: utf-8 -*-

# Módulos 
import sys, gtk, pygame, utils, objetos
from pygame.locals import *

# Constantes

# Clases
# ---------------------------------------------------------------------
        
class Linea:
	def __init__(self,texto,posx,posy,correcto):
		self.text,self.rect = utils.textotls(texto, posx,posy,16,(50,50,50))
		self.checked = False
		self.correcto = correcto
		self.sonido = pygame.mixer.Sound("sounds/harp.ogg")
		self.sonido.set_volume(0.2)
		if correcto:
			self.image = utils.load_image('images/check.png',True)
			self.img_rect = self.image.get_rect()
			self.img_rect.centerx = self.rect.left-12*utils.RES
			self.img_rect.centery = posy-10*utils.RES

class Numero:
	def __init__(self,texto,posx,posy):
		self.text,self.rect = utils.texto_titulo(texto, posx,posy,(255,255,255))

class Pregunta:
	def __init__(self,texto,posx,posy):
		self.text,self.rect = utils.textotlb(texto, posx,posy,17,(255,255,255))
        
# ---------------------------------------------------------------------
def dibujar(screen,cursor_picture, clock):
    salir = 0
    background_image = utils.load_image('images/fondo_3.jpg')
    i= 0
    j= 0
    numero_linea = 1
    btn_adelante = objetos.BotonAdelante()
    btn_atras = objetos.BotonAtras()
    
    
    clase, clase_rect = utils.texto_clase("Clase 3", 740*utils.RES, 30*utils.RES)
           
    titulo, titulo_rect = utils.texto_subtitulo("BASU-TRIVIA", 115*utils.RES, 55*utils.RES,(50,50,255))
    linea1,linea1_rect = utils.textotlb('En este "trivia de la basura" vas a tener que señalar las desventajas', 285*utils.RES,80*utils.RES,17,(50,50,255))
    linea2,linea2_rect = utils.textotlb('que puede tener cada alternativa de DISPOSICIÓN FINAL.', 245*utils.RES,100*utils.RES,17,(50,50,255))
    linea3,linea3_rect = utils.textotls('Los dos métodos que siguen, SIEMPRE ocasionan daños ambientales:', 253*utils.RES,120*utils.RES,15,(150,150,150))
     
    preg1 = ( Numero('1)', 65*utils.RES,145*utils.RES),
    Pregunta('Los VERTEDEROS AL AIRE LIBRE son espacios en los que se', 280*utils.RES,145*utils.RES),
    Pregunta('arroja la basura (basurales) sin ningún cuidado especial.', 285*utils.RES,165*utils.RES),
    Pregunta('¿Cuáles serán sus dos desventajas?', 205*utils.RES,185*utils.RES))    
    
    resp1 = ( Linea('a. Producen humo, cenizas y restos de basura mal quemada.', 260*utils.RES,220*utils.RES,False),
    Linea('b. La basura, al descomponerse, genera líquidos que pueden filtrarse y contaminar la tierra y el agua.', 391*utils.RES,240*utils.RES,True),
    Linea('c. Los ruidos que genera pueden alterar el ecosistema.', 242*utils.RES,260*utils.RES,False),
    Linea('d. Alguien puede confundir el basural con una montaña y querer escalarla.', 307*utils.RES,280*utils.RES,False),
    Linea('e. La acumulación de desechos favorece la aparición de roedores e insectos', 308*utils.RES,300*utils.RES,True),
    Linea('que son transmisores de enfermedades.', 195*utils.RES,320*utils.RES,False))    
    
    preg2 = ( Numero('2)', 65*utils.RES,345*utils.RES),
    Pregunta('En la QUEMA A CIELO ABIERTO, la basura es quemada', 270*utils.RES,345*utils.RES),
    Pregunta('sobre el suelo y así se reduce su tamaño (quedan ceni-', 280*utils.RES,365*utils.RES),
    Pregunta('zas). ¿Cuál es el riesgo?', 170*utils.RES,385*utils.RES))    
    
    resp2 = ( Linea('a. Genera excesivos ruidos y contaminación sonora.', 310*utils.RES,415*utils.RES,False),
    Linea('b. Favorece la aparición de roedores e insectos.', 298*utils.RES,435*utils.RES,False),
    Linea('c. Produce contaminación ambiental: humo, cenizas y restos', 340*utils.RES,455*utils.RES,True),
    Linea('de basura mal quemada.', 227*utils.RES,475*utils.RES,False))    
    
    img1 = utils.load_image('images/c3_6_img1.jpg')
    img2 = utils.load_image('images/c3_6_img2.jpg')
    
    cuadro = pygame.draw.rect(screen,(50,50,255),(100*utils.RES,150*utils.RES,400*utils.RES,100*utils.RES))
    
    while salir == 0:
    
    	# Pump GTK messages.sub
		while gtk.events_pending():
			gtk.main_iteration()
			
		for eventos in pygame.event.get():
			if eventos.type == QUIT:
				sys.exit(0)
			elif eventos.type == pygame.VIDEORESIZE:
			   pygame.display.set_mode(eventos.size, pygame.RESIZABLE)	
			elif eventos.type == MOUSEBUTTONDOWN:
				if btn_adelante.rect.collidepoint(pygame.mouse.get_pos()):
					salir = 7
					btn_adelante.sonido.play()	
				elif btn_atras.rect.collidepoint(pygame.mouse.get_pos()):
					salir = 5					
					btn_atras.sonido.play()	
				for palabra in resp1:
					if palabra.rect.collidepoint(pygame.mouse.get_pos()):	
						palabra.checked = True
						if palabra.correcto:
							palabra.sonido.play()	
				for palabra in resp2:
					if palabra.rect.collidepoint(pygame.mouse.get_pos()):	
						palabra.checked = True	
						if palabra.correcto:	
							palabra.sonido.play()		

		# Realiza la animacion del texto
		
		screen.blit(background_image, (0, 0))
		screen.blit(clase, clase_rect)
		pygame.draw.rect(screen,(50,50,255),(50*utils.RES,135*utils.RES,450*utils.RES,70*utils.RES))
		pygame.draw.rect(screen,(50,50,255),(50*utils.RES,330*utils.RES,450*utils.RES,70*utils.RES))
		screen.blit(titulo, titulo_rect)
		screen.blit(linea1,linea1_rect)
		screen.blit(linea2,linea2_rect)
		screen.blit(linea3,linea3_rect)
		screen.blit(img1, (550*utils.RES, 90*utils.RES))
		screen.blit(img2, (550*utils.RES, 300*utils.RES))
		for palabra in preg1:
			screen.blit(palabra.text, palabra.rect)
		for palabra in resp1:
			screen.blit(palabra.text, palabra.rect)
			if palabra.checked and palabra.correcto:
				screen.blit(palabra.image, palabra.img_rect)
		for palabra in preg2:
			screen.blit(palabra.text, palabra.rect)
		for palabra in resp2:
			screen.blit(palabra.text, palabra.rect)
			if palabra.checked and palabra.correcto:
				screen.blit(palabra.image, palabra.img_rect)		
		screen.blit(btn_adelante.image, btn_adelante.rect)
		screen.blit(btn_atras.image, btn_atras.rect)
		screen.blit(cursor_picture, pygame.mouse.get_pos())
		pygame.display.flip()

		# Try to stay at 30 FPS
		clock.tick(30)
                	 
    return salir

# This function is called when the game is run directly from the command line:
# ./TestGame.py 
def main():
	
	pygame.init()
	screen = pygame.display.set_mode((int(800*utils.RES), int(520*utils.RES)), pygame.RESIZABLE) #pygame.display.get_surface() #

	# Fake a Sugar cursor for the pyGame canvas area
	pygame.mouse.set_cursor((8,8),(0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0))
	cursor_picture = pygame.image.load('images/standardcursor.png')
	cursor_picture.convert_alpha() 
	clock = pygame.time.Clock()
	dibujar(screen,cursor_picture,clock)

if __name__ == '__main__':
   main()
